package com.study.d5_regex;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ClimbData {
   static String data ="来黑马程序员学习Java\n"+
            "电话:18512516758，18512508907\n"+"或者联系邮箱: boniu@itcast.cn\n" +
            "座机电话:01036517895，010-98951256\n"+"邮箱:bozai@itcast.cn，\n"+"邮箱2:dlei0009@163.com，\n"
            +"热线电话:400-618-909日，400-618-400日，\n"+"4006184000，4006189090\n";

    public static void main(String[] args) {
        //需求：从data中爬出邮箱，手机号码，座机号码，400号码

        //1、定义爬取规则对象，封装要爬取的格式
        Pattern pattern = Pattern.compile("(\\w{2,30}@\\w{2,20}\\.(\\w{2,20}){1,2})|(1[3-9]\\d{9})|" +
                "(0\\d{2,6}-?[1-9]\\d{3,10})|(400-?[1-9]\\d{2,6}-?[1-9]\\d{2,6})");

        //2、通过匹配规则对象pattern与内容data建立联系得到一个匹配器对象
        Matcher matcher = pattern.matcher(data);

        //3、使用匹配器对象，开始爬取内容
        while(matcher.find()){
            //把需要的信息分类提取出来
            String group = matcher.group();
            System.out.println(group);
        }
        System.out.println("----------------------------------");
        //用法2：group指定位置
        Pattern pa = Pattern.compile("(\\w{2,30})@(\\w{2,20})\\.(\\w{2,20}){1,2}");
        Matcher ma = pa.matcher(data);
        while(ma.find()){
            System.out.println(ma.group(1));
            System.out.println(ma.group(2));
            System.out.println(ma.group(3));
        }
    }
}
